
#ifndef ENTITY_MGR_H
#define ENTITY_MGR_H

#include "BaseEntity.h"
#include "Containers.h"

namespace ouden {

class CEntityMgr
{
	
public:
	
	
	void addEntityToCategory(CBaseEntity* entity, String category)
		{ m_CategoryMap[category].push_back(entity); }
	
	bool isEntityInCategory(CBaseEntity* entity, String category)
		{ return ( find(m_CategoryMap[category].begin(), m_CategoryMap[category].end(), entity) != m_CategoryMap[category].end() ); }
	
private:
	
	typedef Array<CBaseEntity*> EntityCategory;
	
	Map<String, EntityCategory> m_CategoryMap; 	//Map of entity categories by name
	
	Map<String, CBaseEntity*> 	m_EntityMap; 	//Map of entities by name
	
};

} //namespace ouden

#endif //ENTITY_MGR_H
